package com.example.electricpower.controller;

import com.example.electricpower.entity.TUser;
import com.example.electricpower.service.TUserService;
import org.springframework.web.bind.annotation.PostMapping;
import org.springframework.web.bind.annotation.RequestBody;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;
import result.Result;

import javax.annotation.Resource;

@RestController
@RequestMapping("/login")
public class loginController {


    @Resource
    private TUserService tUserService;


    @PostMapping("/login")
    public Result login(@RequestBody TUser user){
        //请求参数，获取用户名
        String username = user.getUsername();
        //判断是否为空 若为空直接告诉用户用户名密码有误
        if(username==null||username.equals("") ){
            return  Result.error(20001,"用户名密码有误！");
        }
        //执行到这里说明用户名不为空，所以去数据库查询
        TUser userByName= this.tUserService.getByUsername(username);
        //如果用户名不存在，则告诉用户 用户不存在
        if(userByName==null){
            return  Result.error(2002,"用户不存在");
        }

        //执行到这里说明用户名存在，则再去参数中判断密码是否与数据库中的一致
        String pwdFromParams = user.getPassword();
        String pwdFromDB = userByName.getPassword();
        if(pwdFromDB.equals(pwdFromParams)){
            //如果一致，则表示用户合法，返回用户信息
            return Result.ok(userByName);
        }else{
            //如果不一致，返回错误信息，告诉用户，用户名密码错误
            return  Result.error(20001,"用户名密码有误！");
        }


    }
}
